use std::env;
use std::env;
use std::fs::File;
use std::io::Write;
use fishingwithme_lib::config::{API_BASE_URL, IMAGE_BASE_URL};

fn main() {
    // 创建输出文件
    let mut file = File::create("config_test_result.txt").expect("无法创建输出文件");
    
    // 检查环境变量
    let env_value = env::var("TAURI_ENV").unwrap_or_else(|_| "未设置".to_string());
    writeln!(file, "TAURI_ENV = {}", env_value).expect("写入文件失败");
    
    // 测试API_BASE_URL的使用（直接使用）
    writeln!(file, "\n直接使用API_BASE_URL:").expect("写入文件失败");
    writeln!(file, "API_BASE_URL = {}", API_BASE_URL).expect("写入文件失败");
    writeln!(file, "IMAGE_BASE_URL = {}", IMAGE_BASE_URL).expect("写入文件失败");
    
    // 测试API_BASE_URL的解引用使用
    writeln!(file, "\n解引用使用API_BASE_URL:").expect("写入文件失败");
    writeln!(file, "*API_BASE_URL = {}", *API_BASE_URL).expect("写入文件失败");
    writeln!(file, "*IMAGE_BASE_URL = {}", *IMAGE_BASE_URL).expect("写入文件失败");
    
    // 测试在format!宏中的使用
    writeln!(file, "\n在format!宏中使用API_BASE_URL:").expect("写入文件失败");
    let url1 = format!("{}/test", API_BASE_URL);
    writeln!(file, "Formatted URL (直接使用) = {}", url1).expect("写入文件失败");
    
    let url2 = format!("{}/test", *API_BASE_URL);
    writeln!(file, "Formatted URL (解引用) = {}", url2).expect("写入文件失败");
    
    // 同时输出到控制台
    println!("TAURI_ENV = {}", env_value);
    println!("API_BASE_URL = {}", API_BASE_URL);
    println!("\n配置系统测试完成！请查看config_test_result.txt文件获取完整测试结果。");
    
    writeln!(file, "\n配置系统测试完成！").expect("写入文件失败");
}